<template>
  <div class="main">
    <el-table
      :data="expertActivityRecordss"
      style="width: 100%"
      :row-class-name="tableRowClassName">
      <el-table-column
        prop="exarno"
        label="编号"
        width="100">
      </el-table-column>
      <el-table-column
        prop="eno"
        label="专家"
        width="100">
      </el-table-column>
      <el-table-column
        prop="edno"
        label="活动详情"
        width="300">
      </el-table-column>
      <el-table-column
        prop="exardate"
        label="活动时间"
        width="300">
      </el-table-column>
      <el-table-column label="操作" width="200px">
        <template slot-scope="scope">
          <el-button
            size="mini"
            @click="handleEditExpertActivityRecords(scope.$index, scope.row)">编辑</el-button>
          <el-button
            size="mini"
            type="danger"
            @click="handleDeleteExpertActivityRecords(scope.$index, scope.row)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
    <div class="block">
      <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page.sync="currentPage"
        :page-size="pageInfo.pageSize"
        layout="prev, pager, next, jumper"
        :total="pageInfo.itemCount">
      </el-pagination>
    </div>
    <el-button size="mini" @click="handleAddExpertActivityRecords">
      新增
    </el-button>
    <addExpertActivityRecords v-if="addDialogIsShow" ref="showAddExpertActivityRecords"></addExpertActivityRecords>
    <editExpertActivityRecords v-if="editDialogIsShow" ref="showEditExpertActivityRecords"></editExpertActivityRecords>
    <deleteExpertActivityRecords v-if="deleteDialogIsShow" ref="showdeleteExpertActivityRecords"></deleteExpertActivityRecords>

  </div>
</template>

<script>
  import api from "../../../../axios/api"
  import addExpertActivityRecords from '@/components/back/expertActivityRecords/addExpertActivityRecords.vue'
  import editExpertActivityRecords from '@/components/back/expertActivityRecords/editExpertActivityRecords.vue'
  import deleteExpertActivityRecords from '@/components/back/expertActivityRecords/deleteExpertActivityRecords.vue'
  import utilsFd from '../../../../static/js/utils/index.js'
  export default {
    name: "index",
    addDialogIsShow:false,
    editDialogIsShow:false,
    deleteDialogIsShow:false,
    components:{
      addExpertActivityRecords,editExpertActivityRecords,deleteExpertActivityRecords
    },
    data(){
      return {
        expertActivityRecordss:[],
        addDialogIsShow:false,
        editDialogIsShow:false,
        deleteDialogIsShow:false,
        currentPage: 1,
        pageInfo:{}
      }
    },
    methods: {
      handleSizeChange(val) {
        console.log(`每页 ${val} 条`);
      },
      handleCurrentChange(val) {
        console.log(`当前页: ${val}`);
        this.currentPage = val;
        this.setDataFromAxios(val);
      },
      tableRowClassName({row, rowIndex}) {
        if (rowIndex % 2 == 0) {
          return 'warning-row';
        } else {
          return '';
        }
        return '';
      },
      setDataFromAxios: function (currPage) {
        if(currPage!=null){
          this.currentPage = currPage;
        }
        //为什么要封装一下方法 1.每个vue组件有自己的一些参数处理，简化调用本来这个setDataFromAxios这个方法属于api 重新封装就属于当前页面
        api.setDataFromAxios("/api/expertActivityRecords/pageInfo?currPage="+this.currentPage+"&pageSize=5", null, "get")
          .then(res => {
            console.log(res)
            this.expertActivityRecordss = res.tList;
            this.pageInfo = res.obj;
            this.expertActivityRecordssData();
          });//.then方法 就是当服务器有返回的时候执行回调函数，对比jquery的ajax success:function（data）
      },
      handleEditExpertActivityRecords:function(index,expertActivityRecords){
        console.log(index + "   "+ expertActivityRecords.uId);
        let _this = this;   //this代表方法调用者 this代表vue对象
        _this.editDialogIsShow = true;
        _this.$nextTick(() => {  //下一步操作
          _this.$refs.showEditExpertActivityRecords.init(expertActivityRecords);  //找到vue对象中定义ref集合（$refs就是ref集合 上面ref定义的名字叫showAddExpertActivityRecords）调用子组件的init方法
        })
      },
      handleDeleteExpertActivityRecords: function (index, expertActivityRecords) {
        let _this = this;
        _this.deleteDialogIsShow = true;
        _this.$nextTick(() => {
          _this.$refs.showdeleteExpertActivityRecords.init(expertActivityRecords);
        })
      },
      handleAddExpertActivityRecords:function(){
        let _this = this;   //this代表方法调用者 this代表vue对象
        _this.addDialogIsShow = true;
        _this.$nextTick(() => {  //下一步操作
          _this.$refs.showAddExpertActivityRecords.init();  //找到vue对象中定义ref集合（$refs就是ref集合 上面ref定义的名字叫showAddExpertActivityRecords）调用子组件的init方法
        })
      },
      procesDate(date) {
        var date = new Date(date)
        console.log(date)
        date  = utilsFd.FD.Fd().format(date)
        return date
      },
      expertActivityRecordssData() {
        for (var i = 0; i < this.expertActivityRecordss.length; i++) {
          this.expertActivityRecordss[i].exardate = this.procesDate(this.expertActivityRecordss[i].exardate);
          this.expertActivityRecordss[i].exartime = this.procesDate(this.expertActivityRecordss[i].exartime);
          //console.log(this.user.orderForms[i].uresdate)
        }
      },
    },
    created:function () {
      this.setDataFromAxios();//1.创建页面的时候 调用自定义的数据请求方法  而数据请求方法把得到数据赋值给了当前页面的变量
    }
  }
</script>

<style scoped lang="stylus">
  .main
    width 1000px
    margin 0 auto
  /deep/ .warning-row  /*不写deep渲染出错*/
    background-color oldlace
</style>

